//
//      CGE - CRAb Graphics Engine
// 
//      Copyright (C) 2003-2009 by CRAb-UFC
//
//		This file is part of the "CRAb Graphics Engine"
//		See the copyright notice in cge.h for conditions of distribution and use.
//

#ifndef CGE_CLIENTSOCKETBASE_CLASS_H__
#define CGE_CLIENTSOCKETBASE_CLASS_H__

#include "net/cgeInetAddress.h"

namespace cge
{
	namespace net
	{
		/** @brief
		 *
		 */
		class CGE_API SocketBase
		{
		public:

                        virtual bool isOpen(void) const = 0;
                        virtual void close(void) = 0;

		private:

			/**
			 * Internal socket
			 */
			__socket socketId;

			virtual bool bind(void) = 0;
			virtual bool create(void) = 0;

		}; // end of the Socket class

		/// For ease of coding, defines a TcpSocket type
		typedef Socket TcpSocket;
	}
}



#endif // CGE_SERVER_CLASS_H__
